Microsoft DirectX 8.1 (C++)

Retrieving Standard Metaproperties (C++)

This topic applies to Windows XP Home Edition and Windows XP Professional only.

A Guide Store repository contains many Guide Store MetaPropertyType objects that can be used by an application. Some of these are standard types; others are defined by the application or the loader.

The procedure to access a standard MetaPropertyType object is as follows.

  1. Using the pointer to the IGuideStore interface obtained from CoInitializeEx, call IGuideStore::get_MetaPropertySets. This method returns a pointer to the IMetaPropertySets interface of a MetaPropertySets collection that contains all MetaPropertySet objects in the Guide Store.
  2. For a table of standard MetaPropertySet collections and MetaPropertyType objects, see Standard Metaproperties. Look up the name of the MetaPropertySet and the name of the MetaPropertyType in the table. Allocate a string consisting of the two names separated by a period; for example, "Categories.Action".
  3. Pass the string to IMetaPropertySets::get_Lookup to retrieve a pointer to the IMetaPropertyType interface of the MetaPropertyType object.

The last step is equivalent to retrieving the MetaPropertySet object called "Categories" by using IMetaPropertySets::get_Item, retrieving the associated MetaPropertyTypes collection by using IMetaPropertySet::get_MetaPropertyTypes, and finally calling IMetaPropertyTypes::get_ItemWithName to retrieve the MetaPropertyType object named "Action".

After you have retrieved a MetaPropertyType object, you can retrieve all MetaProperty objects of that type from a collection by using IMetaProperties::get_ItemsWithMetaPropertyType.